12章 並行処理
並行処理(concurent processing)あるいは並行性(cocurrency)は一つの処理を独立した複数のコンポーネントに分割し、コンポーネント間で安全にデータを共有しながら計算することを意味する
多くの言語では並行性をライブラリを介して提供し、OSレベルのスレッドによってロックを使ってデータを共有するものが多い
Goの並行性のモデルは上記とは異なり、CSP(Communicating Sequential Processes)に基づいている
/icons/hr.icon
12.1 並行性をいつ利用するべきか
12.2 ゴルーチン
12.3 チャネル
12.4 select
12.5 並行処理のベストプラクティスとパターン
12.6 チャネルの代わりにミューテックスを使うべきとき
12.7 sync/atomic